import { IPSControlItem } from '../ipscontrol-item';
import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSSysCss } from '../../res/ipssys-css';
import { IPSSysImage } from '../../res/ipssys-image';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';

/**
 *
 * 子接口类型识别属性[itemType]
 * @export
 * @interface IPSDEToolbarItem
 */
export interface IPSDEToolbarItem extends IPSControlItem {
  /**
   * 标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题
   * @type {string}
   */
  caption: string;

  /**
   * 项直接样式
   * @type {string}
   */
  cssStyle: string;

  /**
   * 项数据
   * @type {string}
   */
  data: string;

  /**
   * 动态样式表
   * @type {string}
   */
  dynaClass: string;

  /**
   * 工具栏项高度
   * @type {number}
   * @default 0.0
   */
  height: number;

  /**
   * 项类型
   * @description 值模式 [平台工具栏项类型] {DEUIACTION：界面行为项、 SEPERATOR：分隔项、 ITEMS：分组项、 RAWITEM：直接项 }
   * @type {( string | 'DEUIACTION' | 'SEPERATOR' | 'ITEMS' | 'RAWITEM')}
   */
  itemType: string | 'DEUIACTION' | 'SEPERATOR' | 'ITEMS' | 'RAWITEM';

  /**
   * 系统样式表
   *
   * @type {IPSSysCss}
   */
  getPSSysCss(): IPSSysCss | null;

  /**
   * 图标资源对象
   *
   * @type {IPSSysImage}
   */
  getPSSysImage(): IPSSysImage | null;

  /**
   * 前端应用插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 工具提示
   * @type {string}
   */
  tooltip: string;

  /**
   * 提示语言资源
   *
   * @type {IPSLanguageRes}
   */
  getTooltipPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 用户标记
   * @type {string}
   */
  userTag: string;

  /**
   * 用户标记2
   * @type {string}
   */
  userTag2: string;

  /**
   * 工具栏项宽度
   * @type {number}
   * @default 0.0
   */
  width: number;

  /**
   * 显示标题
   * @type {boolean}
   */
  showCaption: boolean;

  /**
   * 显示图标
   * @type {boolean}
   */
  showIcon: boolean;

  /**
   * 启用
   * @type {boolean}
   * @default true
   */
  valid: boolean;
}
